import axiso from "axios";
import router from "../router";

export function request(config) {
    const instance = axiso.create({
        baseURL: "https://api.shop.eduwork.cn",
        timeout: 90000,
    });

    // 请求拦截
    instance.interceptors.request.use(
        (config) => {
            // 如果有一个接口需要认证才可以访问，就在这里设置
            const token = window.localStorage.getItem("token");
            if (token) {
                config.headers.Authorization = "Bearer " + token;
            }
            return config;
        },
        (err) => {
            //
        }
    );

    // 相应拦截
    instance.interceptors.response.use(
        (res) => {
            return res.data ? res.data : res;
        },
        (err) => {
            // 如果有需要授权才可以访问的接口，同意去login授权
            // 如果有错误，这里面会处理
            if (err.response.status && err.response.status == "401") {
                // alert("请先登录");
                router.push({
                    path: "/login",
                });
            }

            // alert(err.response.data.errors[Object.keys(err.response.data.errors)[0]][0]);
        }
    );

    return instance(config);
}